package com.view;

import java.util.Calendar;

import android.content.Context;
import android.graphics.drawable.ColorDrawable;
import android.view.LayoutInflater;
import android.view.MotionEvent;
import android.view.View;
import android.view.View.OnClickListener;
import android.view.View.OnTouchListener;
import android.view.ViewGroup.LayoutParams;
import android.widget.Button;
import android.widget.DatePicker;
import android.widget.DatePicker.OnDateChangedListener;
import android.widget.PopupWindow;
import android.widget.TextView;

import com.matang.R;

public class PopupWindowSelectDate extends PopupWindow {


	private Button  btn_sub;
	private DatePicker datapicker;
	private View mMenuView;
	int year,month,day;
	TextView dateTv;
	public PopupWindowSelectDate(Context context,TextView tv) {
		super(context);
		LayoutInflater inflater = (LayoutInflater) context
				.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
		mMenuView = inflater.inflate(R.layout.popwin_chose_date, null);
		datapicker = (DatePicker) mMenuView.findViewById(R.id.datepicker);

		Calendar c =Calendar.getInstance();  
	        year =c.get(Calendar.YEAR);  
	        month=c.get(Calendar.MONTH);  
	        day=c.get(Calendar.DAY_OF_MONTH);  
	        this.dateTv=tv;
	        datapicker.init(year, month, day, new OnDateChangedListener() {  
	              
	            @Override  
	            public void onDateChanged(DatePicker view, int year, int monthOfYear,  
	                    int dayOfMonth) {  
	            	monthOfYear++;
	            	dateTv.setText(year+"-"+monthOfYear+"-"+dayOfMonth);
	            }  
	        });
		
		
		btn_sub = (Button) mMenuView.findViewById(R.id.btn_sub);
		//取消按钮
		btn_sub.setOnClickListener(new OnClickListener() {

			public void onClick(View v) {
				//销毁弹出框
				int month=datapicker.getMonth();
				month++;
				dateTv.setText(datapicker.getYear()+"-"+month+"-"+datapicker.getDayOfMonth());
				
				
				dismiss();
			}
		});
		//设置SelectPicPopupWindow的View
		this.setContentView(mMenuView);
		//设置SelectPicPopupWindow弹出窗体的宽
		this.setWidth(LayoutParams.FILL_PARENT);
		//设置SelectPicPopupWindow弹出窗体的高
		this.setHeight(LayoutParams.WRAP_CONTENT);
		//设置SelectPicPopupWindow弹出窗体可点击
		this.setFocusable(true);
		//设置SelectPicPopupWindow弹出窗体动画效果
		this.setAnimationStyle(R.style.AnimBottom);
		//实例化一个ColorDrawable颜色为半透明
		ColorDrawable dw = new ColorDrawable(0xb0000000);
		//设置SelectPicPopupWindow弹出窗体的背景
		this.setBackgroundDrawable(dw);
		//mMenuView添加OnTouchListener监听判断获取触屏位置如果在选择框外面则销毁弹出框
		mMenuView.setOnTouchListener(new OnTouchListener() {
			
			public boolean onTouch(View v, MotionEvent event) {
				
				int height = mMenuView.findViewById(R.id.pop_layout).getTop();
				int y=(int) event.getY();
				if(event.getAction()==MotionEvent.ACTION_UP){
					if(y<height){
						dismiss();
					}
				}				
				return true;
			}
		});

	}
}
